package com.kmxd.ams.client.archive.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import java.io.Serializable;
import java.util.Date;
import javax.validation.constraints.NotNull;
import lombok.Data;

/**
 * 元数据对应明细
 *
 * @author nickbi
 * @since 2022-07-23
 */
@Schema(description = "元数据对应明细对象")
@Data
public class ArchiveMetaFieldDetailEditDTO implements Serializable {

  private static final long serialVersionUID = 1L;

  /** 主键ID */
  @Schema(description = "主键ID")
  private Long id;

  /** 源字段 源字段 */
  @Schema(description = "源字段 源字段")
  private String sourceField;

  /** 目标字段 目标字段 */
  @Schema(description = "目标字段 目标字段")
  @NotNull(message = "目标字段 目标字段不能为空")
  private String targetField;

  /** 对应规则，等于 后续支持：计数～求和～最大值~最小值 */
  @Schema(description = "对应规则，等于 后续支持：计数～求和～最大值~最小值")
  private String rule;

  /** 元数据对应主键 */
  @Schema(description = "元数据对应主键")
  @NotNull(message = "元数据对应主键不能为空")
  private Long fieldMainId;

  /** 创建人 */
  @Schema(description = "创建人")
  private Long createBy;

  /** 创建时间 */
  @Schema(description = "创建时间")
  private Date createTime;

  /** 更新人 */
  @Schema(description = "更新人")
  private Long updateBy;

  /** 更新时间 */
  @Schema(description = "更新时间")
  private Date updateTime;
}
